package com.carbon.assets.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;


@Data  // Lombok注解，自动生成getter、setter、toString等方法
@ApiModel(value = "SelectorVo", description = "接收碳信用资产查询参数")
public class SelectorVo implements Serializable {
    @ApiModelProperty(value = "id")
    private String id;

    // 以下字段与前端form中的字段完全对应
    @ApiModelProperty(value = "核证标准")
    private String certificationCriteria;

    @ApiModelProperty(value = "方法学名称")
    private String mName;

    @ApiModelProperty(value = "行业编码")
    private String industry;

    @ApiModelProperty(value = "行业编码")
    private String FieldCode;

    @ApiModelProperty(value = "交易状态")
    private String transactionStatus;

    @ApiModelProperty(value = "资产状态")
    private String assetsStatus;

    @ApiModelProperty(value = "项目名称")
    private String projectName;

    @ApiModelProperty(value = "项目id")
    private String carbonProjectId;

    @ApiModelProperty(value = "方法学名称")
    private String methodology;

    @ApiModelProperty(value = "签发开始日期（yyyy-MM-dd）")
    private String issueDateStart;

    @ApiModelProperty(value = "签发结束日期（yyyy-MM-dd）")
    private String issueDateEnd;

    @ApiModelProperty(value = "立项开始日期（yyyy-MM-dd）")
    String initiationDateStart;
    @ApiModelProperty(value = "立项结束日期（yyyy-MM-dd）")
    String initiationDateEnd;

    // 前端额外传递的tenantId参数
    @ApiModelProperty(value = "租户ID")
    private String tenantId;


    @ApiModelProperty(value = "有效开始日期")
    private String expiryDateStart;

    @ApiModelProperty(value = "有效结束日期（yyyy-MM-dd）")
    private String expiryDateEnd;


    @ApiModelProperty(value = "第一市场持有者名")
    private String agencyName;

    @ApiModelProperty(value = "项目状态")
    private String projectStatus;


    @ApiModelProperty(value = "文件类型")
    private String fileType;

    @ApiModelProperty(value = "文件名称")
    private String title;

    @ApiModelProperty(value = "文件完成时间范围左")
    private String completionDateStart;

    @ApiModelProperty(value = "文件完成时间范围右")
    private String completionDateEnd;



    // 新增分页相关属性
    @ApiModelProperty(value = "当前页码，默认1", example = "1")
    private Integer pageNum = 1;

    @ApiModelProperty(value = "每页条数，默认10，最大100", example = "10")
    private Integer pageSize = 10;


    @ApiModelProperty(value = "方法学状态字典")
    private String statusCode;


}
